home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / 4_0 / FIX_DESK / SOURCE / OPTIONS.C < prev    next >
C/C++ Source or Header  |  1988-09-07  |  2KB  |  64 lines

  1. #include <MacTypes.h>
  2. #include <QuickDraw.h>
  3. #include <WindowMgr.h>
  4. #include <ControlMgr.h>
  5. #include <DialogMgr.h>
  6.  
  7. #include "fix.h"
  8.  
  9. enum {
  10.     ITEM_OPTIONS_OK = 1,
  11.     ITEM_OPTIONS_CANCEL,
  12.     ITEM_OPTIONS_COMMENTS = 4,
  13.     ITEM_OPTIONS_BUNDLES,
  14.     ITEM_OPTIONS_APPLLIST
  15. };
  16.  
  17.     /* Handle the option selection dialog. */
  18.  
  19. void do_options()
  20. {
  21.     register DialogPtr options_dialog;
  22.     int item, done;
  23.     Handle comment_item,bundle_item, appl_item;
  24.  
  25.     options_dialog = GetNewDialog(DIALOG_OPTIONS, NIL, MINUS_ONE);
  26.     comment_item = get_item(options_dialog, ITEM_OPTIONS_COMMENTS);
  27.     bundle_item = get_item(options_dialog, ITEM_OPTIONS_BUNDLES);
  28.     appl_item = get_item(options_dialog, ITEM_OPTIONS_APPLLIST);
  29.     SetCtlValue(comment_item, process_comments);
  30.     SetCtlValue(bundle_item, process_bundles);
  31.     SetCtlValue(appl_item, process_appls);
  32.  
  33.     ShowWindow(options_dialog);
  34.     done = 0;
  35.     do {
  36.         ModalDialog(NIL, &item);
  37.         switch (item) {
  38.             case ITEM_OPTIONS_OK:
  39.                 process_comments = GetCtlValue(comment_item);
  40.                 process_bundles = GetCtlValue(bundle_item);
  41.                 process_appls = GetCtlValue(appl_item);
  42.                 if (process_comments || process_bundles || process_appls)
  43.                     done = 1;
  44.                 else
  45.                     Alert(ALERT_OPTIONS, NIL);
  46.                 break;
  47.             case ITEM_OPTIONS_CANCEL:
  48.                 done = 1;
  49.                 break;
  50.             case ITEM_OPTIONS_COMMENTS:
  51.             case ITEM_OPTIONS_BUNDLES:
  52.             case ITEM_OPTIONS_APPLLIST:
  53.                 {
  54.                     register Handle whatever;
  55.  
  56.                     whatever = get_item(options_dialog, item);
  57.                     SetCtlValue(whatever, !GetCtlValue(whatever));
  58.                 }
  59.                 break;
  60.         }
  61.     } while (!done);
  62.     DisposDialog(options_dialog);
  63. }
  64.